//引入核心工具gulp
var gulp = require("gulp");
//压缩css文件
//安装压缩css文件用gulp-minify-css（执行命令为cnpm i gulp-minify-css --save-dev）
var gulp_minify_css=require("gulp-minify-css");
//require属于CMD规范
//安装监听scss文件用gulp-sass（执行命令为cnpm i gulp-sass --save-dev）
var gulp_sass = require("gulp-sass") //编译sass文件夹
//压缩js文件，需要安装gulp_uglify文件（执行命令为cnpm i gulp-uglify --save-dev）
var gulp_uglify = require("gulp-uglify")
//cnpm install --save-dev gulp-babel babel-core babel-preset-env
var babel = require('gulp-babel');
//浏览器热更新
var browserSync = require('browser-sync').create();
//tinypng压缩图片
var tiny = require("gulp-tinypng");
//自动添加css属性的前缀
//cnpm i --save-dev gulp-autoprefixer
var autoprefixer = require("gulp-autoprefixer");
//复制静态资源文件 cnpm i --save-dev gulp-copy
var copy = require("gulp-copy");
gulp.task("bs",function(){
	browserSync.init({
		//启动根目录
		server:{
			baseDir:"./"
		},
		//修改端口号
		port:4000
	})
	gulp.watch("src/scss/**/*.scss", ["sass"])//sass可以自己定
		.on("change",browserSync.reload)
	gulp.watch("src/**/*.html", ["copyHtml"])
		.on("change",browserSync.reload)
})
//自定义一个任务
gulp.task("init",function(){
	console.log("init");
});
//自定义默认任务
//打印执行命令(gulp default)
gulp.task("defualt",function(){
	console.log("default");
});
//编译sass，将scss的文件传到css文件里面
gulp.task("sass",function(){
	//任意文件夹两个**
	gulp.src("src/scss/**/*.scss")
	.pipe(gulp_sass())
	.pipe(gulp.dest("dist/css"))
})
//语义化可以把dev换成watchScss
//监听scss，并将其转化为css
gulp.task("watchScss",function(){
	gulp.watch("src/scss/**/*.scss",["sass"])
//	.on("change",function(e){
//		console.log(e)
//	})  可忽略
})
//压缩css
//压缩执行命令(gulp minifycss)
gulp.task("minifycss",function(){
	//文件源头
	gulp.src("src/css/**/*.css")
	//自动添加css属性的前缀(兼容性)
	.pipe(autoprefixer({
		browsers:['last 2 versions','Android >= 4.0','ios 7','last 3 Safari versions'],
		cascade:true
		//美化属性：列如 -webkit-
	}))
	.pipe(gulp_minify_css())
	.pipe(gulp.dest("dist/css"))
});
//压缩js
gulp.task("uglify",function(){
	//文件源头
	gulp.src("src/js/**/*.js")
	.pipe(babel({
		presets: ['env']
	}))
	.pipe(gulp_uglify())
	.pipe(gulp.dest("dist/js"))
});
//复制html文件
gulp.task("copyHtml",function(){
	gulp.src("src/**/*.html")
	.pipe(gulp.dest("dist/"))
})
//压缩图片 cnmp install gulp-tinypng --save-dev
gulp.task("minifyimg",function(){
	//代表src/img目录下的任意文件夹中的任意文件
	gulp.src("src/img/**/*.*")
	.pipe(tiny("s7XAma9jZvBwBRutfxhNe4VsHDaYEkSW"))
	.pipe(gulp.dest("dist/img/"))
})

//复制静态文件
gulp.task("copy",function(){
	gulp.src("src/media/**/*.*")
	.pipe(copy("dist/media",{prefix:"2"}))
})
//一键压缩css，js
gulp.task("pro",["copyHtml","minifycss","minifyjs","copy"])
